/**
 * Diese Klasse generiert den in der Textdatei '99BottlesOfBeerText' hinterlegten Text. Es wird vom Benutzer keine
 * Eingabe erwartet, das Programm läuft selbsttätig ab.
 * 
 * @author Johann Meister
 * @version 1.1
 * @date 20100114
 *
 */

public class BottlesOfBeer {

	/**
	 * Die main-Methode ist der Einstegspunkt in das Programm, sie ist die einzige Methode und sorgt für die richtige Ausgabe
	 * des Textes.
	 * 
	 * @param args In diesem Fall müssen keine Argumente übergeben werden.
	 */
	public static void main (String[] args) {
		
		//Anzahl der Flaschen; deklarieren und initialisieren der Variablen amount
		int amount = 99;
		String word = "bottles";

		//Solange die Anzahl der Flaschen größer 0 ist wird der Schleifenrumpf ausgeführt
		while (amount > 0) {
			
			//wenn genau eine Flasche im Regal steht wird der Numerus entsprechend auf Singular angepasst
			if (amount == 1) {
				word = "bottle"; //Singular wie EINE Flasche
			} //if
			
			//ausgeben des entsprechenden Satzes und dekrementieren von amount
			System.out.println(amount + " " + word + " of beer on the wall, " + amount + " " + word + " of beer.");
			amount = amount - 1;

			//Prüfung, wenn amount = 1, dann führe Rumpf aus
			if (amount == 1) {
				System.out.println("Take one down and pass it around, " + amount + " " + "bottle of beer on the wall.");
			}
			//ansonsten füre folgendes aus
			else {
				if (amount > 0) {
					System.out.println("Take one down and pass it around, " + amount + " " + word + " of beer on the wall.");
				}
				else {
					System.out.println("Take one down and pass it around, no more bottles of beer on the wall.");
				} //else
			} //else

			//Zeilenvorschub um eine Zeile
			System.out.println("");
	
		} //while

		//dies wird ausgegeben wenn der Betrag von amount 0 ist
		System.out.println("No more bottles of beer on the wall, no more bottles of beer.");
		System.out.println("Go to the store and buy some more, 99 bottles of beer on the wall.");
	} //main
} //Klasse